package com.ct.service;

import java.util.List;

import com.ct.entity.po.Reimbursement;
import com.ct.entity.query.ReimbursementQuery;
import com.ct.entity.vo.PaginationResultVO;

/**
 * 报销表 业务接口
 */
public interface ReimbursementService {

    /**
     * 根据条件查询列表
     */
    List<Reimbursement> findListByParam(ReimbursementQuery param);

    /**
     * 根据条件查询列表
     */
    Integer findCountByParam(ReimbursementQuery param);

    /**
     * 分页查询
     */
    PaginationResultVO<Reimbursement> findListByPage(ReimbursementQuery param);

    /**
     * 新增
     */
    Integer add(Reimbursement bean);

    /**
     * 批量新增
     */
    Integer addBatch(List<Reimbursement> listBean);

    /**
     * 批量新增/修改
     */
    Integer addOrUpdateBatch(List<Reimbursement> listBean);

    /**
     * 多条件更新
     */
    Integer updateByParam(Reimbursement bean, ReimbursementQuery param);

    /**
     * 多条件删除
     */
    Integer deleteByParam(ReimbursementQuery param);

    /**
     * 根据ReimbursementId查询对象
     */
    Reimbursement getReimbursementByReimbursementId(Integer reimbursementId);

    /**
     * 根据ReimbursementId修改
     */
    Integer updateReimbursementByReimbursementId(Reimbursement bean, Integer reimbursementId);

    /**
     * 根据ReimbursementId删除
     */
    Integer deleteReimbursementByReimbursementId(Integer reimbursementId);

    List<Reimbursement> getReimbursementByTravelIdList(List<Integer> travelIdList);

    /**
     * 根据travelId进行查找一个Reimbursement
     * 
     * @param travelId
     * @return
     */
    Reimbursement getReimbursementByTravelId(Integer travelId);

}